First of: you really need a patched mairix binary for using the marks propagation feature efficiently. Otherwise, you would have to update the mairix database all the time. You can get the patch at
http://www.randomsample.de/mairix-maildir-patch.tar
You need the mairix v0.21 source code for this patch; everything else is explained in the accompanied readme file. If you don't want to use marks propagation, you don't have to apply these patches, but they also fix some annoyances regarding changing maildir flags, so it might still be useful to you.
With the patched mairix binary, you can use
nnmairix as an alternative to mail splitting (see
Fancy
Mail Splitting). For example, instead of splitting all mails
from ‘david@foobar.com’ into a group, you
can simply create a search group with the query
‘f:david@foobar.com’. This is actually
what “smart folders” are all about: simply put
everything in one mail folder and dynamically create searches
instead of splitting. This is more flexible, since you can
dynamically change your folders any time you want to. This also
implies that you will usually read your mails in the
nnmairix groups instead of your “real”
mail groups.
There is one problem, though: say you got a new mail from
‘david@foobar.com’; it will now show up
in two groups, the “real” group (your INBOX, for
example) and in the nnmairix search group (provided
you have updated the mairix database). Now you enter the
nnmairix group and read the mail. The mail will be
marked as read, but only in the nnmairix
group—in the “real” mail group it will be still
shown as unread.
You could now catch up the mail group (see Group Data), but this is tedious
and error prone, since you may overlook mails you don't have
created nnmairix groups for. Of course, you could
first use nnmairix-goto-original-article (see
nnmairix
keyboard shortcuts) and then read the mail in the original
group, but that's even more cumbersome.
Clearly, the easiest way would be if marks could somehow be automatically set for the original article. This is exactly what marks propagation is about.
Marks propagation is deactivated by default. You can activate
it for a certain nnmairix group with
nnmairix-group-toggle-propmarks-this-group (bound to
G b p). This function will warn you if you try to use
it with your default search group; the reason is that the default
search group is used for temporary searches, and it's easy to
accidentally propagate marks from this group. However, you can
ignore this warning if you really want to.
With marks propagation enabled, all the marks you set in a
nnmairix group should now be propagated to the
original article. For example, you can now tick an article (by
default with !) and this mark should magically be set
for the original article, too.
A few more remarks which you may or may not want to know:
Marks
will not be set immediately, but only upon closing a group. This
not only makes marks propagation faster, it also avoids problems
with dangling symlinks when dealing with maildir files (since
changing flags will change the file name). You can also control
when to propagate marks via
nnmairix-propagate-marks-upon-close (see the
doc-string for details).
Obviously, nnmairix will have to look up the
original group for every article you want to set marks for. If
available, nnmairix will first use the registry for
determining the original group. The registry is very fast, hence
you should really, really enable the registry when using marks
propagation. If you don't have to worry about RAM and disc space,
set gnus-registry-max-entries to a large enough
value; to be on the safe side, choose roughly the amount of mails
you index with mairix.
If you
don't want to use the registry or the registry hasn't seen the
original article yet, nnmairix will use an
additional mairix search for determining the file name of the
article. This, of course, is way slower than the
registry—if you set hundreds or even thousands of marks
this way, it might take some time. You can avoid this situation
by setting nnmairix-only-use-registry to t.
Maybe you also want to propagate marks the other way round,
i.e. if you tick an article in a "real" mail group, you'd like to
have the same article in a nnmairix group ticked,
too. For several good reasons, this can only be done efficiently
if you use maildir. To immediately contradict myself, let me
mention that it WON'T work with nnmaildir, since
nnmaildir stores the marks externally and not in the
file name. Therefore, propagating marks to nnmairix
groups will usually only work if you use an IMAP server which
uses maildir as its file format.
If you work with this setup, just set
nnmairix-propagate-marks-to-nnmairix-groups to
t and see what happens. If you don't like what you
see, just set it to nil again. One problem might be
that you get a wrong number of unread articles; this usually
happens when you delete or expire articles in the original
groups. When this happens, you can recreate the
nnmairix group on the back end using G b
d.